Apollo Client
特徴
データの正規化構造を持っている
__typename fieldと id fieldをkeyにする
キャッシュ機構を組み込める
クエリを発行するとローカルのキャッシュに問い合わせ、データが無ければリモートのGraphQLサーバーに問い合わせを行う
リクエストしたデータがローカルに存在しているかどうか、ネットワーク上に取りに行く必要があるのかを気にすることなくデータへのアクセスを行うことが出来ます
ローカルのキャッシュへのアクセスもネットワーク越しでのデータアクセスも同様のクエリで実行します
Local Stateも管理できる
各種環境向けに用意されている
JavaScript
React
Angular
Vue
Svelte
Ember
Meteor (thanks to DDP-Apollo)
Web Components
Apollo Elements
Native mobile
Native iOS with Swift
Native Android with Java and Kotlin
apollo-cache-inmemory
キャッシュを追加
apollo-link-http
エンドポイントを追加
リクエストをカスタマイズ
apollo-client
ミドルウェアをカスタマイズ
リンクをカスタマイズ
graphql-tag
graphqlのクエリをテンプレートリテラルで書ける
apollo-boost
graphqlのクライアントライブラリの一式
graphql-code-generator
rect hooks
query系の集まり
具体的にはこのライブラリは何をしているの
$ npm i graphqlってなに?
仕様が名前のpackageっておかしくない?
GraphQLスキーマを構築し、それに対してクエリを実行するために使用されるライブラリ
Apollo Clientのケーススタディとして、メジャーリーグサッカーのアプリケーションでは5000行近くのReduxのコードを削除することに成功した事例が掲載されています。
cache